The present disclosure relates to methods of transferring data across a network. More particularly, the present disclosure relates to methods of efficiently transferring time-sensitive data across a network from a server to a client.
For many applications that depend on the timely delivery of data from a server, it can be very important to receive data as rapidly as possible through a network connection. A video streaming application is one example of such an application. When streaming video data from a server to a playback device, delays in receiving video data can result in the pausing of video playback, resulting in poor user experience. Such delays can occur, for example, as a result of a loss of network connection, unavailability of network resources, network congestion, and network policy for data services.
One approach for avoid delays when transferring time-sensitive data is to deliver a large block of the data at once, for example, by transferring a large block of data in a single file (i.e. in a single HTTP request) over given network connection. However, transmitting a large data block over a given network connection may also result in transmission problems due to network timeout. Accordingly, this can also result in delays that contribute to a poor user experience.